/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}
/**************************************************************************************
Defaults 
***************************************************************************************/
html {
	overflow-x:hidden;
	-webkit-font-smoothing: antialiased;
}
body {
	padding:94px 0 0 0;
	
	background:white;
	overflow-x:hidden;
	
	font-family: 'Lato', sans-serif;
	font-size: 21px;
	-webkit-font-smoothing: antialiased;
}

a, button	{
	cursor:pointer;
	/*text-decoration:none;
	transition: all 0.5s ease;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;*/
}
a:hover, a:focus, button:focus{
	text-decoration: none;
	outline:none;
}
a:hover{
	text-decoration: none;
}
p, li{}
p{
	line-height:30px;
	display:block;
	margin: 0 0 15px 0;
}
p a{
    color: #007bff;
}

hr{
	margin-bottom:30px;
	border-color:#ddd;
}

h1{
	font-size: 45px;
	font-weight: 900;
}
h1 span{
	color:#0672d6;
}
h2{
	font-size: 30px;
}
h3{
	color:#0672d6;
	font-size: 27px;
	font-weight: 900;
}

figure{
	margin:0 !important;
}

input, select.custom-select{
	font-size: 14px !important;
}

input.form-control::-webkit-input-placeholder,
textarea.form-control::-webkit-input-placeholder,
textarea.form-control,
select.custom-select {
	color:#1c1c1c;
	text-shadow: 0;
	font-size: 14px;
}

button{
	border:none;
}

/**************************************************************************************
Bootstrap Overwrites
***************************************************************************************/
.dropdown:hover>.dropdown-menu {
	display: block;
}
.card{
	border:0;
	border-radius:0;
}

.carousel-indicators li {
    box-sizing: content-box;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
	
    width: 15px;
    height: 15px;
    margin-right: 3px;
	margin-bottom: 15px;
    margin-left: 3px;
	
    text-indent: -999px;
    cursor: pointer;
	
	border-radius:15px;
    background-color: #fff;
    background-clip: padding-box;
    border-top: 0px;
    border-bottom: 0px;
	
    opacity: .5;
    transition: opacity .6s ease;
}

/**************************************************************************************
Custom Classes
***************************************************************************************/
/* Start of "Micro clearfix" */
.cf { zoom: 1; }
.cf:before,
.cf:after { content: ""; display: table; }
.cf:after { clear: both; }
/* End of "Micro clearfix" */

.pr{
	position:relative;
}
.bl{
	display:block;
	width: 100%;
}

.nopadding {
  padding: 0 !important;
  margin: 0 !important;
}
.npl	{
	margin-top: 0 !important;
	margin-bottom: 15px !important;
    padding-left: 0 !important;
}
.npr	{
	margin-top: 0 !important;
	margin-bottom: 15px !important;
    padding-right: 0 !important;
}
.noleft	{
	padding-left: 0 !important;
}
.noright	{
	padding-right: 0 !important;
}
.no-vert{
	margin-top:0;
	margin-bottom:0;
	padding-top:0;
	padding-bottom:0;
}

.espacio{
	padding:6rem 0;
}
.espacio-top{
	padding-top:6rem;
}

.full-height, .half-height{
	position: relative;
}
.col5{
	float: left;
	display:block;
	padding-right: 15px;
	padding-left: 15px;
	width: 20%;
}

.imgfull	{
	width: 100%;
	min-width: 100%;
	max-width: 100%;
}
.half{
	width: 50%;
}
.imgbordershadow	{
	box-shadow:0px 0px 40px 0px rgba(50, 50, 50, 0.2);
}
.nobo{
	border:none !important;
}
.borde{
    border: 1px solid #ced4da;	
}

.limit{
	display:block;
	width: 100%;
	overflow:hidden;
}
.grow { transition: all .5s ease-in-out; }
.grow:hover { transform: scale(1.1); }

.table-responsive-wrapper{
	display:block;
	width: 100%;
	overflow-x:none;
}

/**************************************************************************************
Home
***************************************************************************************/
#menu{
	z-index: 9999;
	position:fixed;
	top:0;
	left:0;
	
	display:block;
	width: 100%;
	margin-bottom: 20px;
	
	background:#e42524;
}
.navbar {
    padding:12px 15px;
}
a.navbar-brand{
	margin:-5px 0 0 0;
	padding:0;
}
a.nav-link{
	padding-right: 1.25rem !important;
	padding-left: 1.25rem !important;
	color:white !important;
	font-size: 16px;
	font-weight: 700;
}
a.nav-link:hover{
	color:#ffd480 !important;
}
a.nav-boton{
	display:block;
	padding-right:20px !important;
	padding-left:20px !important;
	background:white;
	border-radius:15px;
	color:#e42524 !important;
}
a.nav-boton:hover{
	background:black;
	color:white !important;
}

.carousel-item img{
	border-radius:15px;
}

.carousel-caption{
	text-align: left;
}
.carousel-caption h5{
	font-size: 45px;
	font-weight: 900;
	line-height:45px;
}
.carousel-caption h5 span{
	display:block;
}
.carousel-caption p{
	display:block;
	padding:0.75rem 0;
	font-size:26px;
	line-height:32px;
}
.carousel-caption p span{
	display:block;
}
.carousel-caption a{
	display:inline-block;
	padding:10px 20px;
	background:rgba(255,255,255,0.2);
	border-radius:15px;
	color:white !important;
	font-size: 15px;
}
.carousel-caption a:hover{
	background:rgba(255,255,255,0.9);
	color:black !important;
}

.slide1 .carousel-caption {
	top:7.75rem;
	right:3rem;
    bottom: auto;
    left: auto;
    padding:0px;
}
.slide2 .carousel-caption {
	top:10rem;
	left:5rem;
    bottom: auto;
    right: auto;
    padding:0px;
}

.carousel-interna .carousel-caption h5{
	margin:0;
	font-size: 30px;
	line-height:30px;
}
.carousel-interna .carousel-caption p{
	padding:0.5rem 0;
	font-size:20px;
	line-height:20px;
}

#rompecabezas{
	padding:0 0 10rem 0;
	background:url(../_img/rompecabezas.jpg) no-repeat center bottom;
	background-size: 1920px;
}
#rompecabezas h2{
	display:block;
	padding:1.5rem 8rem;
}
.boton{
	display:inline-block;
	padding:0.5rem 1.5rem;
	background:#0672d6;
	border-radius:15px;
	color:white !important;
	font-size: 16px;
	font-weight: 700;
}
.boton:hover{
	background:#023c71;
	color:white;
}
.boton img{
	display:inline-block;
	margin:-3px 0 0 10px;
}

.fondogris{
	background:#f2f2f2;
}
.fondoazul{
	background:#0672d6;
	color:white;
}
.fondoazul h3{
	color:white;
}

#soluciones{
	position: relative;
	padding-bottom:20rem;
	overflow:hidden;
	/*background:#f2f2f2 url(../_img/telefono.png) no-repeat center bottom;
	background-size: 480px;*/
}
#telefono{
	position: absolute;
	bottom:0;
	left:50%;
	margin-left: -240px;
}

.textochico h6{
	font-size: 18px;
	font-weight: 700;
}
.textochico p{
	font-size: 16px;
	line-height:21px;
}
.textochico p a{
	color:#0672d6;
	font-weight: 900;
}
.textochico p a:hover{
	text-decoration: underline;
	text-decoration-thickness:4px;
	text-underline-offset:9px;
}
.imgredonda{
	border-radius:15px;
}

.cards a{
	display:block;
	margin-bottom: 30px;
	border-radius:15px;
	overflow:hidden;
	text-align: center;
}
.cards a span{
	display:block;
	padding:1rem 0;
	background:white;
	color:#0672d6;
	font-size: 18px;
	font-weight: 900;
}
.cards a:hover span{
	background:#023c71;
	color:white;
}
.cards a span em{
	font-style:normal;
}

#footer{
	padding:90px 0 30px 0;
	background:#e42524;
	color:white;
}
#footer .boton{
	background:white;
	color:#e42524 !important;
}
#footer .boton:hover{
	background:black;
	color:white !important;
}
#footer h6{
	font-size: 15px;
	font-weight: 900;
}
#footer nav a{
	display:block;
	padding:.5rem 0;
	color:white;
	font-size: 15px;
}
#footer nav a:hover{
	color:#ffd480;
}
#footnodos{
	display:block;
	padding-left:1rem;
}
#footinfo{
	display:block;
	padding-left:2rem;
}
#footredes{
	display:block;
	padding-left:1rem;
}
.siete{
	margin-top: 7rem; /* ¯\_(ツ)_/¯ */
}

.modal-content {
    border: none !important;
    border-radius: .3rem;
}
.contenido{
	padding:3rem;
	color:black;
}
.contenido h5{
	margin-bottom:2rem;
	padding-bottom:2rem;
	border-bottom:solid 1px #eee;
	font-weight: 900;
}
.contenido ul{
	display:block;
	margin:0;
	padding:0;
}
.contenido ul li{
	display:block;
	padding:0 0 0.75rem 2rem;
	
	list-style:none;
	background:url(../_img/flecha.png) no-repeat 0px 14px;
	background-size: 11px;
}


/**************************************************************************************
Niveles
***************************************************************************************/
#gradiente{
	padding:0 0 10rem 0;
	background:url(../_img/gradiente.jpg) no-repeat center bottom;
	background-size: 1920px;
}

.carousel-texto {
	position: relative;
}
.carousel-texto .carousel-caption{
	position:static;
	margin:0 12rem;
	padding:3rem 6rem;
	min-height: 370px;
	
	background:white url(../_img/esquinero.png) no-repeat bottom right;
	background-size:88px;
	border-radius: 1.5rem;
	color:black !important;
}
.carousel-texto h5{
	color:#0672d6;
	font-size: 20px;
}
.carousel-texto p{
	padding:0;
	color:#333;
	font-size: 16px;
	line-height:21px;
}
.carousel-texto ol.carousel-indicators{
	position:static;
	margin:2rem 0 0 0;
}
.carousel-texto ol.carousel-indicators li{
	background:#0672d6;
}
.carousel-texto .carousel-control-prev-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%230672d6' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E") !important;
}
.carousel-texto .carousel-control-next-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%230672d6' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E") !important;
}

img#maestra{
	z-index: 1;
	position: absolute;
	bottom:0;
	left:7rem;
}
img#crecimiento{
	z-index: 1;
	position: absolute;
	bottom:-6rem;
	left:-3rem;
}
img#estrella{
	z-index: 1;
	position: absolute;
	bottom:-9rem;
	left:-2rem;
}
img#estrella2{
	z-index: 1;
	position: absolute;
	bottom:-6rem;
	left:-1rem;
}

#gradienterojoazul{
	background:#f2f2f2 url(../_img/gradienterojoazul.jpg) no-repeat center top;
	background-size: 1920px;
}
#gradienterojoazul h2{
	margin:90px 0 15px 0;
	color:white;
	font-size: 45px;
	font-weight: 900;
}
#gradienterojoazul h3{
	margin:0 0 30px 0;
	color:white;
	font-size: 30px;
	font-weight: 400;
}

#maternalfin{
	background:#f2f2f2 url(../_img/maternalfin.jpg) no-repeat center top;
	background-size: 1920px;
}
#maternalfin h2{
	margin:90px 0 15px 0;
	color:white;
	font-size: 45px;
	font-weight: 900;
}
#maternalfin h3{
	margin:0 0 30px 0;
	color:white;
	font-size: 30px;
	font-weight: 400;
}
#maternalfin hgroup{
	height: 24rem;
}
#maternalfin hgroup h2{
	margin-bottom: .5rem;
	font-size: 2rem;
}
#maternalfin hgroup p{
	color:white;
}

.plan{
	position: relative;
	padding:40px 0;
	background:white;
	border-radius: 15px;
	text-align: center;
}
.plan img{
	position: absolute;
	top:0;
	right:0;
}
.plan h4{
	margin-bottom: 1.5rem;
	color:#0672d6;
	font-size: 27px;
	font-weight: 900;
}
.plan h5{
	color:#333;
	font-size: 50px;
	font-weight: 900;
}
.plan h5 sup{
	margin:0 5px 0 0;
	color:#0672d6;
	font-size: 27px;
	font-weight: 900;
}
.plan p{
	color:#333;
	font-size: 16px;
	line-height:21px;
}
.plan p span{
	color:#e42524;
	font-style:italic;
	font-weight: 700;
}
.plan h6{
	margin-top: 2.5rem;
	color:#e42524;
}
.plan ul{
	margin:0 4rem 3rem 4rem;
	padding:0;
	list-style:none;
}
.plan ul li{
	display:block;
	padding:1.5rem 0 0 0;
	border-bottom:dashed 1px #ddd;
	color:#333;
	font-size: 16px;
}

.testimonio{
	margin:1rem 0;
	padding:4rem 8rem;
	
	background:white;
	border-radius: 15px;
}
.testimonio h4{
	margin-top: 2.5rem;
	color:#333;
	font-size: 20px;
	font-weight: 700;
}
.testimonio h5{
	margin-bottom: 1.5rem;
	color:#e42524;
	font-size: 16px;
	font-style:italic;
	font-weight: 400;
}
.testimonio p{
	color:#0672d6;
	font-size: 21px;
	font-style:italic;
}

/**************************************************************************************
Gravity forms
***************************************************************************************/
/*input*/
.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
    border: solid 1px #ccc;
}

/*boton*/
.gform_wrapper .gform_footer input.button, 
.gform_wrapper .gform_footer input[type=submit], 
.gform_wrapper .gform_page_footer input.button, 
.gform_wrapper .gform_page_footer input[type=submit]{
	display:inline-block;
	padding:0.5rem 1.5rem;
	background:#0672d6;
	border:none;
	border-radius:15px;
	color:white !important;
	font-size: 16px;
	font-weight: 700;
}

.gform_wrapper .gform_footer input.button:hover, 
.gform_wrapper .gform_footer input[type=submit]:hover, 
.gform_wrapper .gform_page_footer input.button:hover, 
.gform_wrapper .gform_page_footer input[type=submit]:hover{
	background:#023c71;
	color:white;
}

/*label*/
.gform_wrapper .top_label .gfield_label, .gform_wrapper legend.gfield_label {
    display: -moz-inline-stack !important;
    display: inline-block !important;
	margin:0 !important;
    line-height: 1 !important;
    clear: both !important;
    font-size: 15px !important;
}
.gform_wrapper label.gfield_label, .gform_wrapper legend.gfield_label {
    font-weight: 400 !important;
    font-size: inherit !important;
}

/*label below*/
.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label{
	font-size: 13px !important;
	letter-spacing: 0 !important;
}

/*input*/
.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) {
    border: solid 1px #ccc !important;
    border-radius: 7px !important;
}




















